var name = "";
var bm = "";
var pId = "";
var id = "";
var obj1 = "";
var treeData = "";
var TempArr = [];//存储option  
var TempVal = [];
var lxId = "";
var zid = "";
var val = "";
$(document).ready(function() {
	resizeIframeHight();
	fnResize();
	loadingCustom("正在加载用户树。。。");
	
	setTimeout(function() {
		$.fn.zTree.init($("#yh"), setting);
		change();
		roleSelect();
		escrowSelect();
		relationSelect();
		workCenter();
		initbm();
		warehouse();
//	jurisdiction();
//	lxChange();
		zsxmSelect();
	}, 100);
	$('input').blur(function() {
		hideMenu();
	})

});
//用户树的操作
var setting = {
	async : {
		enable : true,
		url : pathUrl("user/getDepartmentUserTree.action"),
		type : "POST",
		dataFilter : filter
	},
	view : {
		dblClickExpand : false,
		selectedMulti : false,
		showIcon : false
	},
	edit : {
		enable : true,
		showRemoveBtn : false,
		showRenameBtn : false
	},
	data : {
		/*
		 * keep: { parent:true, leaf:true },
		 */
		simpleData : {
			enable : true,
		}
	},
	callback : {
		onClick : onClick,
		onAsyncSuccess : zTreeOnAsyncSuccess
	}
};

/*
 * @Description: 对返回的json数据进行处理
 * @param : treeId	对应zTree的treeId
 * @param : parentNode	进行异步加载的父节点 JSON 数据对象
 * @param : childNodes	异步加载获取到的数据
 */
function filter(treeId, parentNode, childNodes) {
	//	console.log(childNodes);
	if (!childNodes)
		return null;
	for ( var i = 0, l = childNodes.length; i < l; i++) {
		if (childNodes[i].pId == -1) {
			childNodes[i].open = "true";
		}
	}
	return childNodes;
}

/*
 * @Description: 树异步加载正常结束的事件回调
 * @param : event	js event对象
 * @param : treeId	对应zTree的treeId
 * @param : treeNode	被点击的节点JSON数据对象
 * @param : msg	异步获取的节点数据字符串
 */
function zTreeOnAsyncSuccess(event, treeId, treeNode, msg) {
	zTree_Menu = $.fn.zTree.getZTreeObj(treeId);
	var node = zTree_Menu.getNodeByParam("id", zid);
	zTree_Menu.selectNode(node, true);//指定选中ID的节点
	zTree_Menu.expandNode(node, true, false);//指定选中ID节点展开	
	if(node != null){
		var type = node.flag;
		if(type == "user"){
			bm = node.getParentNode().name;
			pId = node.pId;
			id = node.id;
		}else{
			bm = node.name;
			pId = node.id;
			id = "";
		}
		$("#bm").val(bm);
//		console.log(bm,pId,id)
	}
	swal.close();//关闭提示框
}

/*
 * @Description: 点击节点事件
 * @param : event	js event对象
 * @param : treeId	对应zTree的treeId
 * @param : treeNode	被点击的节点JSON数据对象
 * @param : clickFlag	节点被单击后的选中类型
 */
function onClick(event, treeId, treeNode, clickFlag) {
	if (treeId == "yh") {//用户树的操作
//		console.log(treeNode);
		var type = treeNode.flag;
		name = treeNode.name;
		pId = treeNode.pId;
		id = treeNode.id;
		if (type == "company" || type == "department" || type == "workshop") {//如果flag=company、department、workshop（公司、部门、车间）
			if(name == "仓库"){
				$("#fStock").show();
			}else{
				$("#fStock").hide();
			}
			$("#userAdd").show();//新增勾选框显示
			$("#userModify").hide();//修改勾选框隐藏
			$("#userDelete").hide();//删除勾选框隐藏
			reset();//重置数据
			$("#add").iCheck("check");//勾选新增checkbox
			$("#resetPsd").hide();//重置密码按钮隐藏
			$("#stop").hide();//是否停用隐藏
			$("#bm").val(name);
			$("#bmId").val(id);
		} else {//如果flag=user（用户）
			bm = treeNode.getParentNode().name;//获取部门名称
			if(bm == "仓库"){
				$("#fStock").show();
			}else{
				$("#fStock").hide();
			}
			$("#userAdd").show();
			$("#userModify").show();
			$("#userDelete").show();
			$("#resetPsd").show();
//			$("input[name=type]").removeAttr("checked");
			$("#modify").iCheck("check");
			write();//写入用户信息
			editable();
			$("#bm").val(bm);
			$("#bmId").val(pId);
			$("#yhm").attr("readonly", true);//用户名不能修改
			$("#stop").show();
		}
	} else if (treeId == "bmtree") {//部门树的操作
		var zTree = $.fn.zTree.getZTreeObj("bmtree");
		//获得选中的节点
		var nodes = zTree.getSelectedNodes(), v = "";
		for ( var i = 0, l = nodes.length; i < l; i++) {
			v = nodes[i].name;
			$("#bmId").val(nodes[i].id)
		}
		$("#" + obj1).val(v);
		//隐藏zTree
		hideMenu();
		InitialZtree();
		return false;
	}
}

/*
 * @Description: 单选按钮改变事件
 * @param :
 */
function change() {
	$('input[type=radio][name=type]').on('ifChecked', function(event) {
		if (this.value == 1) {//新增
			reset();
			$("#resetPsd").hide();
			$("#stop").hide();
		} else if (this.value == 2) {//修改
			write();
			editable();
			$("#yhm").attr("readonly", true);
			$("#resetPsd").show();
			$("#stop").show();
		} else if (this.value == 3) {//删除
			write();
			$("#resetPsd").hide();
			notEditable();
			$("#stop").show();
		}
		$("#bm").val(bm);
	});
}

/*
 * @Description: 重置
 * @param : 
 */
function reset() {
	$(".clean_c").val("");
	$('#role,#escrow,#fWorkShopId,#fStockID').selectpicker('val', "");
	$('#erpUserId').val(-98);
	$('#role,#escrow,#erpUserId,#fWorkShopId,#fStockID').selectpicker("refresh");
	$("[name='fStop']").removeAttr("checked");//checkbox取消选中
	editable();
}

/*
 * @Description: 显示用户信息
 * @param : 
 */
function write() {
	$.ajax({
		type : "POST",
		url : pathUrl("user/getUserList.action"),
		data : {"id" : id},
		dataType : "JSON",
		success : function(data) {
			var data = data.rows[0];
//			console.log(data);
			loadData(data,'#yhjbxx');
			var rIds = data.rIds;
			rIds = rIds.split(',');
			$('#role').selectpicker('val', rIds);
			var dids = data.dids;
			dids = dids.split(',');
			$('#escrow').selectpicker('val', dids);
			var fStockIDs = data.fStockIDs;
			fStockIDs = fStockIDs.split(',');
			$('#fStockID').selectpicker('val', fStockIDs);
//			$('#authority').selectpicker('val', data.dataAccess);
//			$('#role,#escrow,#authority').selectpicker("refresh");
			$('#role,#escrow,#erpUserId,#fWorkShopId,#fStockID').selectpicker("refresh");
		},
		error : function(request) {
			//toastr.error('系统出错,请联系管理员');
		}
	});
}

/*
 * @Description: text框不可编辑
 * @param :
 */
function notEditable() {
	$('input').attr("readonly", true);
	$("#role").attr("disabled", true);
	$('#role').selectpicker('refresh');
	$("#escrow").attr("disabled", true);
	$('#escrow').selectpicker('refresh');
	$("#erpUserId").attr("disabled", true);
	$('#erpUserId').selectpicker('refresh');
	$("#fWorkShopId").attr("disabled", true);
	$('#fWorkShopId').selectpicker('refresh');
	$("#bm").attr("disabled", true);
	$("#sfddy").attr("disabled", true);
	$("#sfty").attr("disabled", true);
	$("#zsxm").attr("disabled", true);
	$("#yhbh").attr("readonly", true);
	$("#authority").attr("disabled", true);
	$('#authority').selectpicker('refresh');
	$("#fStockID").attr("disabled", true);
	$('#fStockID').selectpicker('refresh');
}

/*
 * @Description: text框可编辑
 * @param :
 */
function editable() {
	$('input').removeAttr("readonly");
	$('#role').removeAttr("disabled");
	$('#role').selectpicker('refresh');
	$('#escrow').removeAttr("disabled");
	$('#escrow').selectpicker('refresh');
	$('#erpUserId').removeAttr("disabled");
	$('#erpUserId').selectpicker('refresh');
	$('#fWorkShopId').removeAttr("disabled");
	$('#fWorkShopId').selectpicker('refresh');
	$('#bm').removeAttr("disabled");
	$("#sfddy").attr("disabled", false);
	$("#sfty").attr("disabled", false);
	$("#zsxm").attr("disabled", false);
	$("#yhbh").attr("readonly", true);
	$('#authority').removeAttr("disabled");
	$('#authority').selectpicker('refresh');
	$('#fStockID').removeAttr("disabled");
	$('#fStockID').selectpicker('refresh');
}

/*
 * @Description: 保存 
 * @param :
 */
function save() {
	var val = $('input:radio[name="type"]:checked').val();
	var yhm = $('#yhm').val();
	var zsxm = $('#zsxm').val();
	var yhbh = $('#yhbh').val();
	var bm = $('#bm').val();
	var roleId = $("#role").val();
	var ids = '';
	if(yhm == ""){
		swal_Tips("用户名不能为空！");
		return false;
	}
	if(zsxm == ""){
		swal_Tips("真实姓名不能为空！");
		return false;
	}
	if(yhbh == ""){
		swal_Tips("用户编号不能为空！");
		return false;
	}
	if(bm == ""){
		swal_Tips("部门不能为空！");
		return false;
	}
	if (roleId && roleId.length > 0) {
		for (var x=0;x<roleId.length;x++) {
			ids += roleId[x] + ',';
		}
	}
	ids = ids.substring(0, ids.length - 1);
	var escrowId = $("#escrow").val();
	var dids = '';
	if (escrowId && escrowId.length > 0) {
		for (var x=0;x<escrowId.length;x++) {
			dids += escrowId[x] + ',';
		}
	}
	dids = dids.substring(0, dids.length - 1);
	var fStockID = $("#fStockID").val();
	var fStockIDs = '';
	if (fStockID && fStockID.length > 0) {
		for (var x=0;x<fStockID.length;x++) {
			fStockIDs += fStockID[x] + ',';
		}
	}
	fStockIDs = fStockIDs.substring(0, fStockIDs.length - 1);
	
	var data = "";
	data = $("#yhjbxx").serializeObject() + '&' + $.param({'rIds': ids}) + '&' + $.param({'dIds': dids}) + '&' + $.param({'id': id}) + '&' + $.param({'fStockIDs': fStockIDs});
	if (val == 1) {
		addAccount(data);
	} else if (val == 2) {
		zid = id;
		udateAccount(data);
	} else if (val == 3) {
		showSwal(
			"删除",
			"您确定删除吗？",
			"是的，确定删除",
			function(result){//isConfirm 点击确定按钮，参数true/false
				if(result.value){
					zid = pId;
					deleteAccount(data);
				}
			}
		)
	} else if (val == undefined) {
		//toastr.error("请选择一个操作！！");
//		swal_Tips(title,text,type)
	}
}

/*
 * @Description: 新增用户信息
 * @param : data 传入的参数
 */
function addAccount(data) {
	$.ajax({
		url : pathUrl("user/addNew.action"),
		type : "POST",
		dataType : "JSON",
		data : data,
		success : function(data) {
			if (data.code == "0000") {
				zid = data.id;
				id = zid;
				$.fn.zTree.init($("#yh"), setting);
				swal_Tips_Short(data.message);
				$("#userAdd").show();
				$("#userModify").show();
				$("#userDelete").show();
				$("#resetPsd").show();
				$("#modify").iCheck("check");
			} else if (data.code == "9999") {
				swal_Tips(data.message);
			}
		},
		error : function(request) {
			swal_Tips_Error();
		}
	});
	reset();

}

/*
 * @Description: 更新用户信息
 * @param : data 传入的参数
 */
function udateAccount(data) {
	$.ajax({
		url : pathUrl("user/updateUser.action"),
		type : "POST",
		dataType : "JSON",
		data : data,
		success : function(data) {
			if (data.code == "0000") {
				$.fn.zTree.init($("#yh"), setting);
				swal_Tips_Short(data.message);
			} else if (data.code == "9999") {
				swal_Tips(data.message);
			}
		},
		error : function(request) {
			swal_Tips_Error();
		}
	});
}
/*
 * @Description: 删除用户信息
 * @param : data 传入的参数
 */
function deleteAccount(data) {
	$.ajax({
		url : pathUrl("user/deleteUser.action"),
		dataType : "JSON",
		data : data,
		success : function(data) {
			if (data.code == "0000") {
				$.fn.zTree.init($("#yh"), setting);
				swal_Tips_Short(data.message);
				$("#userAdd").show();//新增勾选框显示
				$("#userModify").hide();//修改勾选框隐藏
				$("#userDelete").hide();//删除勾选框隐藏
				reset();//重置数据
				$("#add").iCheck("check");//勾选新增checkbox
			} else if (data.code == "9999") {
				swal_Tips(data.message);
			}
		},
		error : function(request) {
			swal_Tips_Error();
		}
	});
}

/*
 * @Description: 重置密码
 * @param : 
 */
$("#resetPsd").click(function(){
	var data = {};
	data.id = id;
	data.password = "123456";
	$.ajax({
		url : pathUrl("user/updatePassword.action"),
		type : "POST",
		dataType : "JSON",
		data : data,
		success : function(data) {
			if (data.code == "0000") {
				swal_Tips_Short("重置密码成功！");
			} else if (data.code == "9999") {
				swal_Tips("重置密码失败！");
			}
		},
		error : function(request) {
			swal_Tips_Error();
		}
	});
});

/*
 * @Description: 角色下拉列表
 * @param : 
 */
function roleSelect() {
	$.ajax({
		url : pathUrl("roles/userPageAccredit.action"),
		dataType : "JSON",
		async : false,
		success : function(ret) {
			var val = ret.rows;
			var option = "";
			$("#role").empty();
			for (x in val) {
				option += '<option value="' + val[x].rId + '">' + val[x].rName + '</option>';
			}
			$("#role").html(option);
			$('#role').selectpicker('refresh');
			$('#role').selectpicker('render');
		}
	});
}

/*
 * @Description: 代管部门下拉列表
 * @param : 
 */
function escrowSelect() {
	$.ajax({
		url:pathUrl("department/getbmList.action"),
		dataType : "JSON",
		async : false,
		success : function(ret) {
//			console.log(ret)
			var option = "";
			$("#escrow").empty();
			for (x in ret) {
				option += '<option value="' + ret[x].id + '">' + ret[x].fName + '</option>';
			}
			$("#escrow").append(option);
			$('#escrow').selectpicker('refresh');
		}
	});
}

//部门树
var setting1 = {
	view : {
		selectedMulti : false, //是否允许多选
		showIcon : false
	},
	data : {
		simpleData : {
			enable : true
		}
	},
	callback : {
		//zTree节点的点击事件
		onClick : onClick
	}
};

/*
 * @Description: 显示树
 * @param : obj 当前元素
 */
function showMenu(obj) {
	obj1 = obj.id;
	$("#menuContent").slideDown("fast");
}

/*
 * @Description: 隐藏树
 * @param : 
 */
function hideMenu() {
	$("#menuContent").fadeOut("fast");
}

/*
 * @Description: 还原bmtree的初始数据
 * @param : 
 */
function InitialZtree() {
	$.fn.zTree.init($("#bmtree"), setting, treeData);
	var treeObj = $.fn.zTree.getZTreeObj("bmtree");
	treeObj.expandAll(true);
}

/*
 * @Description: 根据文本框的关键词输入情况自动匹配树内节点 进行模糊查找
 * @param : 
 */
function AutoMatch(txtObj) {
	if (txtObj.value.length > 0) {
		InitialZtree();
		var zTree = $.fn.zTree.getZTreeObj("bmtree");
		var nodeList = zTree.getNodesByParamFuzzy("name", txtObj.value);
		//将找到的nodelist节点更新至Ztree内
		$.fn.zTree.init($("#bmtree"), setting1, nodeList);
		showMenu(txtObj);
	} else {
		//隐藏树
		InitialZtree();
	}
}

/*
 * @Description: 公司人员下拉框
 * @param : 
 */
function zsxmSelect() {
	$.ajax({
		url : pathUrl("emp/findByCondition.action"),
//		type : "POST",
		data : {
//			"offset" : 1,//页数
			"row" : 100000//行数
		},
		dataType : "JSON",
		async : false,
		success : function(ret) {
			val = ret.rows;
//			console.log(val);
			$('#zsxm').typeahead({
//			    ajax: {
//			        url: pathUrl("userinfo/getUserinfoList.action?sfyx=1"),
//			        timeout: 300,                   // 延时
//			        method: 'post',
//			        triggerLength: 1,               // 输入几个字符之后，开始请求
//			        loadingClass: null,             // 加载数据时, 元素使用的样式类
//			        preDispatch: null,　　　　　　　　// 发出请求之前，调用的预处理方法
//			        preProcess: null　　　　　　　　　// Ajax 请求完成之后，调用的后处理方法
//			    },
					source: val,
					display: "fName",     // 默认的对象属性名称为 name 属性
					val: "fNumber",           // 默认的标识属性名称为 id 属性
					items: '10',			// 最多显示项目数量
					itemSelected: function (item, val, text) {      // 当选中一个项目的时候，回调函数
						$("#yhbh").val(val);
					}
				});
		},
		error : function(){
			console.log("查询出错");
		}
	});
}
/*setTimeout(function(){
	$('#zsxm').typeahead({
//    ajax: {
//        url: pathUrl("userinfo/getUserinfoList.action?sfyx=1"),
//        timeout: 300,                   // 延时
//        method: 'post',
//        triggerLength: 1,               // 输入几个字符之后，开始请求
//        loadingClass: null,             // 加载数据时, 元素使用的样式类
//        preDispatch: null,　　　　　　　　// 发出请求之前，调用的预处理方法
//        preProcess: null　　　　　　　　　// Ajax 请求完成之后，调用的后处理方法
//    },
		source: val,
		display: "fName",     // 默认的对象属性名称为 name 属性
		val: "fNumber",           // 默认的标识属性名称为 id 属性
		items: '10',			// 最多显示项目数量
		itemSelected: function (item, val, text) {      // 当选中一个项目的时候，回调函数
			$("#yhbh").val(val);
		}
	});
},0);*/
/*
 * @Description: 初始化部门树
 * @param : 
 */
function initbm() {
	$.ajax({
		url : pathUrl("department/departmentTree.action"),
		success : function(data) {
//			data = data.splice(1);//删除json里的数据
//			console.log(data)
			treeData = data;
			$.fn.zTree.init($("#bmtree"), setting1, treeData);
			var treeObj = $.fn.zTree.getZTreeObj("bmtree");
			treeObj.expandAll(true);
		},
		error : function(request) {
			swal_Tips_Error();
		}
	});
}
/*
 * @Description: 根据权限展示不同的下拉框
 * @param : 
 */
function jurisdiction(){
	$.ajax({
		url :pathUrl("/getSession.action"),
		type : 'POST',
//		async : true,
		cache:false,
		dataType : 'JSON',
		success : function(data) {
			var val = data.rows.dataAccess;
			var option = "";
			$("#authority").empty();
			if(val == 1){
				option += '<option value="1">公司级</option>';
				option += '<option value="2">部门级</option>';
				option += '<option value="3" selected="selected">个人级</option>';
			}else if(val == 2){
				option += '<option value="2">部门级</option>';
				option += '<option value="3" selected="selected">个人级</option>';
			}else if(val == 3){
				option += '<option value="3" selected="selected">个人级</option>';
			}
			$("#authority").html(option);
			$('#authority').selectpicker('refresh');
			$('#authority').selectpicker('render');
		},
		error : function() {
//			Showbo.Msg.alert("登录失败！！！");
//			swal_Tips("系统出错","请联系管理员！");
		}
	});
}
/*
 * @Description: 工作中心下拉框
 * @param : 
 */
function workCenter(){
	$.ajax({
		url : pathUrl("workCenter/getworkCenterIdAndName.action"),
		type : "GET",
		dataType : "JSON",
		async : false,
		success : function(data) {
			var str = '<option value="">请选择</option>';
			for (var i=0;i<data.length;i++){
				str += '<option value="' + data[i].text + '">' + data[i].value + '</option>';
			}
			$("#fWorkShopId").html(str);
			$('#fWorkShopId').selectpicker('refresh');
		}
	});
}
/*
 * @Description: 初始化仓库下拉框里的数据
 * @param : 
 */
function warehouse(){
	$.ajax({
		url : pathUrl("stock/getStockList.action"),
		dataType : "JSON",
		type : "POST",
		success : function(data) {
//			console.log(data)
			var option = "";
			$("#fStockID").empty();
//			option = '<option value="">' + "请选择" + '</option>';
			for (x in data) {
				option += '<option value="' + data[x].fStockID + '">' + data[x].fStockName + '</option>';
			}
			$("#fStockID").html(option);
			$('#fStockID').selectpicker('refresh');
		},
		error : function(request) {
			swal_Tips_Error();
		}
	});
}
/*
 * @Description: 浏览器窗口大小改变后：
 * 				 class为ztree，divClassLeft，divClassRight的高度随之改变，
 * 				 divClassLeft的最大高度和最小高度随之改变
 * @param :
 */
function fnResize() {
	var height = $(window).height() - 15;//获取浏览器窗口大小
	document.getElementsByClassName("divClassLeft")[0].style.height = height +"px";
	document.getElementsByClassName("divClassLeft")[0].style.maxHeight = height +"px";
	document.getElementsByClassName("divClassLeft")[0].style.minHeight = height +"px";
	document.getElementsByClassName("divClassRight")[0].style.height = height +"px";
	document.getElementsByClassName("divClassRight")[0].style.maxHeight = height +"px";
	document.getElementsByClassName("divClassRight")[0].style.minHeight = height +"px";
	document.getElementById("yh").style.height = (height - 20) +"px";
}
/*
 * @Description: 浏览器窗口大小自适应
 * @param :
 */
$(window).resize(function() {
	window.setTimeout(function() {
		fnResize();
	}, 0);
});